Instagram Video Downloader avatar

Instagram Video Downloader

Pricing

from $90.00 / 1,000 each instagram video scrapeds

Go to Apify Store
Instagram Video Downloader

Instagram Video Downloader

Download public Instagram Reels, video posts, and IGTV links with this Apify Actor. Extract direct video URLs, metadata, thumbnails, and optional stored files for automation, backups, and content workflows.

Pricing

from $90.00 / 1,000 each instagram video scrapeds

Rating

5.0

(1)

Developer

Emmanuel Uchenna

Emmanuel Uchenna

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

1

Monthly active users

3 days ago

Last modified

Share

What does Instagram Video Downloader do?

Instagram Video Downloader helps you download public Instagram Reels, video posts, and IGTV links with Apify. Extract direct video URLs, metadata, thumbnails, and optional stored files for automation, backups, and content workflows.

Why use Instagram Video Downloader?

This Actor is useful when you need a repeatable workflow for public Instagram video assets instead of a one-off browser tool.

  • Archive your own published Reels or IGTV videos
  • Feed public video links into downstream automations
  • Save resolved download URLs for dashboards, approvals, or content operations
  • Optionally persist files in Apify storage for later processing
  • Apply PPE pricing cleanly around one processed Instagram URL at a time

How to use Instagram Video Downloader

  1. Open the Actor in Apify Console and go to the Input tab.
  2. Paste one or more public Instagram /reel/, /p/, or /tv/ URLs into startUrls.
  3. Choose whether to store the resolved video files, thumbnails, or page HTML snapshots.
  4. Adjust concurrency, retries, timeout, and proxy settings if needed.
  5. Run the Actor.
  6. Review the dataset output for resolved videoUrl values and optional key-value store references.

Input

The Actor accepts these main input fields:

  • startUrls: Required array of public Instagram post URLs
  • storeVideoFiles: Download each resolved video file into the default key-value store
  • storeThumbnailFiles: Download each resolved thumbnail image into the key-value store
  • includePageHtml: Save the fetched Instagram HTML for debugging
  • filenamePrefix: Prefix used for stored file names
  • maxConcurrency, maxRequestRetries, requestTimeoutSecs: Runtime tuning options
  • proxyConfiguration: Optional proxy settings from the Apify proxy editor

Example input:

{
"startUrls": [
{ "url": "https://www.instagram.com/p/C/" },
{ "url": "https://www.instagram.com/p/Cx4R5s6DeFg/" }
],
"storeVideoFiles": true,
"storeThumbnailFiles": false,
"includePageHtml": false,
"filenamePrefix": "campaign-archive",
"maxConcurrency": 3,
"maxRequestRetries": 2,
"requestTimeoutSecs": 30,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Output

Each processed URL produces one dataset item. Successful items include the resolved video URL and optional storage references. Failed items stay in the dataset with an error code and message so the run remains auditable.

Example dataset item:

[
{
"status": "ready",
"inputUrl": "https://www.instagram.com/p/C/",
"canonicalUrl": "https://www.instagram.com/p/C/",
"shortcode": "Cx1Q2a3BCdE",
"mediaType": "reel",
"title": "Instagram video",
"description": "Public Instagram Reel",
"videoUrl": "https://instagram.fxyz1-1.fna.fbcdn.net/o1/v/t16/f1/m86/...",
"thumbnailUrl": "https://instagram.fxyz1-1.fna.fbcdn.net/v/t51.2885-15/...",
"videoStoreKey": "video-campaign-archive-cx1q2a3bcde.mp4",
"videoPublicUrl": "https://api.apify.com/v2/key-value-stores/STORE_ID/records/video-campaign-archive-cx1q2a3bcde.mp4",
"thumbnailStoreKey": null,
"thumbnailPublicUrl": null,
"htmlStoreKey": null,
"uploadDate": "2025-01-16T18:42:10.000Z",
"fetchedAt": "2026-06-14T10:00:00.000Z",
"errorCode": null,
"errorMessage": null
}
]

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Data table

FieldDescription
statusready when a video URL was resolved, otherwise error
canonicalUrlCanonical Instagram page URL used for the item
shortcodeInstagram shortcode extracted from the URL
mediaTypereel, post, or tv
videoUrlDirect video URL resolved from the public page
thumbnailUrlMain public thumbnail URL
videoStoreKeyKey-value store key for the saved video file
videoPublicUrlPublic URL for the stored video file on Apify
errorCode / errorMessageFailure details when no public video URL could be resolved

Tips or Advanced options

  • Keep concurrency low when Instagram responds aggressively to repeated requests.
  • Turn on storeVideoFiles only when you really need binary files in Apify storage; otherwise the dataset videoUrl may be enough.
  • Use includePageHtml for debugging extraction changes when Instagram updates page markup.
  • Add proxy settings if your deployment needs better request distribution.

FAQ, disclaimers, and support

Does this work for private Instagram posts?

No. This Actor is designed for public Instagram pages only.

Will all public Instagram pages expose a direct video URL?

Not always. Instagram can change markup, geo-behavior, or anti-bot protections. When a URL cannot be resolved, the Actor returns an error dataset item instead of failing the entire run.

You are responsible for complying with Instagram terms, copyright restrictions, and local laws. Only download content you own or have permission to use.

Where do I report issues?

Use the repository Issues tab or the Actor feedback section in Apify Console. If you need a more specialized extraction workflow, build on this Actor and adapt the extraction logic to your content pipeline.